package map;

import java.util.HashMap;
import java.util.Map;

public class Test {
    /**编写程序，统计支付串中每个字符出现的次数*/

/** 输出的结果，要求的结果，要求看到每个字符出现的次数
 * 例如
 * h:2
 * e:2
 * l:2
 * xx:xx
 * 思路 1，创建一个map用于保存统计结果
 * key；出现的每种字符
 * value ;该字符出现的次数
 * //char类型对应的包装类: Character
 * 2，
 * 2.1
 *遍历lien 中的每一个字符
 * 2.2 将该字符作为key存入到map 中 还是会有两种情况
 * map 的containsKey()方法
 * 2.2.1  如果这个字符作为key在map中不存在将字符作为key value 存入1（第一次出现）
 * 2.2.2
 *  如果该字符作为key在map中存在，说明该字符之前出现过此时将value+1
 *  2.3
 *  遍历完毕相当于统计完毕，将map输出看结果即可*/
public static void main(String[] args) {

    Map<Character,Integer>map = new HashMap<>();
    String line="hello world!thinking in java!i love java!";
    for(int i =0;i<line.length();i++){
        char c = line.charAt(i);
        if(map.containsKey(c)){//如果该字符作为key在map中存在
           //Integer value =map.get(c);
           //value=value+1;
           //map.put(c,value);
            map.put(c,map.get(c)+1);//看着更简洁
        }else{//如果该字符作为key在map中不存在
            map.put(c,1);
        }
        System.out.println(map);
    }
}

}
